/**
 * 布局表单
 */
export interface LayoutDefine {
  id: number;
  version: number;
  orderId: number;
  rowCount: number;
  colCount: number;
  type: LayoutType;
}

/**
 * 订单信息
 */
export interface BanquetOrder {
  locationName: string;
  locationAddress: string;
  locationLatitude: number;
  locationLongitude: number;
  bgConfig?: string;
  banners: Attachment[];
}

/**
 * 附件
 */
export interface Attachment {
  id: number;
  modelId: number;
  category: string;
  url: string;
}

/**
 * 会场事宜
 */
export interface BanquetOrderNote {
  id: number;
  orderId: number;
  richText: string;
}

/**
 * 微信JS API授权信息
 */
export interface WxJsApi {
  nonceStr: string;
  signature: string;
  timestamp: number;
  appId: string;
}

/**
 * 人员
 */
export interface BanquetPerson {
  id: number;
  name: string;
  deptKey?: string;
  deptText?: string;
}

/**
 * 布局元素
 */
export interface LayoutElement {
  uuid: string | null;
  rowIndex: number;
  colIndex: number;
  active?: boolean;
  type: LayoutType;
}

/**
 * 排座视图
 */
export interface BanquetView {
  layout: LayoutDefine;
  elements: LayoutElement[];
}

/**
 * 人员行程座位
 */
export interface SeatSchedule {
  orderDetailId: number;
  personId: number;
  rowIndex: number;
  colIndex: number;
  subject: string;
  startDate: Date;
  endDate: Date;
  type: LayoutType;
  hallName: string;
}

/**
 * 布局类型
 */
export enum LayoutType {
  GRID = "GRID",
  ROUND = "ROUND",
}
